package com.ethink.order.api.info;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author 辉辉 2023/2/13 13:05
 */
@Data
public class SaleDemandOrderModeInfo extends SaleDemandOrderInfo {

    @Schema(description = "商品名称")
    private String mateSkuName;

    @Schema(description = "商品编码")
    private String mateSku;

    @Schema(description ="大类编号名称")
    private String generaCodeName;

    @Schema(description ="中类编号名称")
    private String minorDefectsCodeName;

    @Schema(description ="小类编号名称")
    private String subclassCodeName;

    @Schema(description ="品牌名称")
    private String brandName;

    @Schema(description ="商品条码")
    private String internationCode;

    @Schema(description ="包装单位编码")
    private String unitName;

    @Schema(description ="商品规格")
    private String productSpecification;

    @Schema(description ="商品生产日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private Date productDate;

    @Schema(description ="商品过期日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss")
    private Date expireDate;

    @Schema(description ="需求数量")
    private Integer demandQty;

    @Schema(description ="需求确认数量")
    private Integer demandAffirmQty;

    @Schema(description ="锁定数量")
    private Integer lockQty;

    @Schema(description ="最差生产日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date worstDemandPeriod;

    @Schema(description ="需求交期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd")
    private Date demandPeriod;

    @Schema(description ="截单日期")
    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    @Schema(description ="预计销售价(含税)")
    private BigDecimal exceptSalePriceTax;

    @Schema(description ="预计销售价(不含税)")
    private BigDecimal exceptSalePriceNoTax;

    @Schema(description ="预计销售价-本币(含税)")
    private BigDecimal exceptSalePriceTaxLocal;

    @Schema(description ="预计销售价-本币(不含税)")
    private BigDecimal exceptSalePriceNoTaxLocal;

    @Schema(description = "税率(%)")
    private BigDecimal taxRate;

    @Schema(description ="折扣")
    private BigDecimal discount;

    @Schema(description ="目标成本-本币")
    private BigDecimal targetCostLocal;

    @Schema(description ="预计毛利")
    private BigDecimal exceptGrossProfit;

    @Schema(description ="报价数量")
    private Integer count;

    @Schema(description ="状态")
    private Integer detailOrderStatus;

}
